/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.zonasoft.entidades;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author JORGE
 */
@Entity
@Table(name = "puestodevotacion", catalog = "zonificacion", schema = "")
@NamedQueries({
    @NamedQuery(name = "Puestodevotacion.findAll", query = "SELECT p FROM Puestodevotacion p"),
    @NamedQuery(name = "Puestodevotacion.findByIdpuestoVotacion", query = "SELECT p FROM Puestodevotacion p WHERE p.idpuestoVotacion = :idpuestoVotacion"),
    @NamedQuery(name = "Puestodevotacion.findByCodigoPuesto", query = "SELECT p FROM Puestodevotacion p WHERE p.codigoPuesto = :codigoPuesto"),
    @NamedQuery(name = "Puestodevotacion.findByNombre", query = "SELECT p FROM Puestodevotacion p WHERE p.nombre = :nombre"),
    @NamedQuery(name = "Puestodevotacion.findByHombres", query = "SELECT p FROM Puestodevotacion p WHERE p.hombres = :hombres"),
    @NamedQuery(name = "Puestodevotacion.findByMujeres", query = "SELECT p FROM Puestodevotacion p WHERE p.mujeres = :mujeres"),
    @NamedQuery(name = "Puestodevotacion.findByCantidad", query = "SELECT p FROM Puestodevotacion p WHERE p.cantidad = :cantidad"),
    @NamedQuery(name = "Puestodevotacion.findByDireccion", query = "SELECT p FROM Puestodevotacion p WHERE p.direccion = :direccion"),
    @NamedQuery(name = "Puestodevotacion.findByMesa", query = "SELECT p FROM Puestodevotacion p WHERE p.mesa = :mesa")})
public class Puestodevotacion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idpuesto_votacion", nullable = false)
    private Long idpuestoVotacion;
    @Basic(optional = false)
    @Column(name = "codigoPuesto", nullable = false, length = 6)
    private String codigoPuesto;
    @Basic(optional = false)
    @Column(name = "nombre", nullable = false, length = 45)
    private String nombre;
    @Basic(optional = false)
    @Column(name = "hombres", nullable = false, length = 6)
    private String hombres;
    @Basic(optional = false)
    @Column(name = "mujeres", nullable = false, length = 6)
    private String mujeres;
    @Basic(optional = false)
    @Column(name = "cantidad", nullable = false, length = 25)
    private String cantidad;
    @Basic(optional = false)
    @Column(name = "direccion", nullable = false, length = 90)
    private String direccion;
    @Basic(optional = false)
    @Column(name = "mesa", nullable = false, length = 3)
    private String mesa;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idpuestoVotacion")
    private List<Zonificados> zonificadosList;
    @JoinColumn(name = "idbarrio", referencedColumnName = "idBarrio", nullable = false)
    @ManyToOne(optional = false)
    private Barrio idbarrio;
    @JoinColumn(name = "idzona", referencedColumnName = "codigo", nullable = false)
    @ManyToOne(optional = false)
    private Zona idzona;

    public Puestodevotacion() {
    }

    public Puestodevotacion(Long idpuestoVotacion) {
        this.idpuestoVotacion = idpuestoVotacion;
    }

    public Puestodevotacion(Long idpuestoVotacion, String codigoPuesto, String nombre, String hombres, String mujeres, String cantidad, String direccion, String mesa) {
        this.idpuestoVotacion = idpuestoVotacion;
        this.codigoPuesto = codigoPuesto;
        this.nombre = nombre;
        this.hombres = hombres;
        this.mujeres = mujeres;
        this.cantidad = cantidad;
        this.direccion = direccion;
        this.mesa = mesa;
    }

    public Long getIdpuestoVotacion() {
        return idpuestoVotacion;
    }

    public void setIdpuestoVotacion(Long idpuestoVotacion) {
        this.idpuestoVotacion = idpuestoVotacion;
    }

    public String getCodigoPuesto() {
        return codigoPuesto;
    }

    public void setCodigoPuesto(String codigoPuesto) {
        this.codigoPuesto = codigoPuesto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getHombres() {
        return hombres;
    }

    public void setHombres(String hombres) {
        this.hombres = hombres;
    }

    public String getMujeres() {
        return mujeres;
    }

    public void setMujeres(String mujeres) {
        this.mujeres = mujeres;
    }

    public String getCantidad() {
        return cantidad;
    }

    public void setCantidad(String cantidad) {
        this.cantidad = cantidad;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getMesa() {
        return mesa;
    }

    public void setMesa(String mesa) {
        this.mesa = mesa;
    }

    public List<Zonificados> getZonificadosList() {
        return zonificadosList;
    }

    public void setZonificadosList(List<Zonificados> zonificadosList) {
        this.zonificadosList = zonificadosList;
    }

    public Barrio getIdbarrio() {
        return idbarrio;
    }

    public void setIdbarrio(Barrio idbarrio) {
        this.idbarrio = idbarrio;
    }

    public Zona getIdzona() {
        return idzona;
    }

    public void setIdzona(Zona idzona) {
        this.idzona = idzona;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idpuestoVotacion != null ? idpuestoVotacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Puestodevotacion)) {
            return false;
        }
        Puestodevotacion other = (Puestodevotacion) object;
        if ((this.idpuestoVotacion == null && other.idpuestoVotacion != null) || (this.idpuestoVotacion != null && !this.idpuestoVotacion.equals(other.idpuestoVotacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.zonasoft.enridades.Puestodevotacion[idpuestoVotacion=" + idpuestoVotacion + "]";
    }

}
